package domain;

import java.util.Iterator;
import java.util.List;
import data.IPerfilDAO;
import data.JDBCPerfilDAO;

public class PerfilStore {
	private static PerfilStore ps;
	private List<Perfil> perfiles;
	
	private IPerfilDAO pdao = new JDBCPerfilDAO();

	public static synchronized PerfilStore getInstance() {
		if (ps == null)
			ps = new PerfilStore();
		return ps;
	}

	private PerfilStore() {
		perfiles = (new JDBCPerfilDAO().selectAllPerfiles());		
	}

	public List<Perfil> getPerfiles() {
		return perfiles;
	}

	public Perfil getPerfil(String perfilID) {
		Perfil p = null;
		Iterator<Perfil> it = perfiles.iterator();
		boolean enc = false;
		
		while (it.hasNext() && !enc){
			p = (Perfil)it.next();
			if (p.getPerfilID().equals(perfilID)){
				enc = true;
			}
		}
		return p;
	}
	
	public Perfil getPerfil2(String usuarioID){
		Perfil p = null;
		Iterator<Perfil> it = perfiles.iterator();
		boolean enc = false;
		
		while (it.hasNext() && !enc){
			p = (Perfil)it.next();
			if (p.getUsuarioID().equals(usuarioID)){
				System.out.println(p.getUsuarioID());
				enc = true;
			}
		}
		return p;
	}
	
	public void borrarPerfil(String perfilID){
		pdao.deletePerfil(perfilID);
	}
	
	public void insertarPerfil(String usuarioID, Perfil p){
		pdao.insertPerfil(usuarioID, p);
	}
	
	public Perfil seleccionarPerfil(String perfilID){
		return pdao.selectPerfil(perfilID);
	}
	
	public List<Perfil> seleccionarPerfiles(){
		return pdao.selectAllPerfiles();
	}
}
